package com.itwn.portal.common.runner;

import com.itwn.portal.service.BookService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

/**
 * CommandLineRunner 接口是 Spring Boot 提供的一个用于在应用启动后执行特定任务的接口。
 * 它定义了一个 run 方法，该方法会在 Spring Boot 应用的 ApplicationContext 初始化完成
 * 并且所有 Spring Bean 被创建和配置之后被调用。
 */
@Component
@Slf4j
public class InitTopSaleRunner implements CommandLineRunner {

    // 构造器注入
    private final BookService bookService;
    public InitTopSaleRunner(BookService bookService) {
        this.bookService = bookService;
    }

    @Override
    public void run(String... args) throws Exception {
        bookService.findTopSales(1,12);
        log.info("热销榜数据预热完成，数据已经加载到Redis中！");
    }
}
